package com.yl.module.property.service;

import com.baomidou.mybatisplus.extension.plugins.pagination.Page;
import com.baomidou.mybatisplus.extension.service.IService;
import com.yl.module.property.domain.PropertyType;
import com.yl.module.property.domain.vo.PropertyTypeTreeVO;
import com.yl.module.property.domain.vo.PropertyTypeVO;
import com.yl.module.property.domain.dto.PropertyTypeDTO;
import java.util.List;
import java.util.Map;

/**
 * 资产类型表 Service接口
 * @author makejava
 * @date 2024-10-23 15:54:16
 */
public interface PropertyTypeService extends IService<PropertyType> {

	/**查询所有*/
	List<PropertyTypeVO> getAll();

    Map<Integer,PropertyType> getIdAndObjAll();

    /**分页查询*/
	List<PropertyTypeTreeVO> getTree(Integer id);

	 /**分页查询*/
    Page<PropertyType> getPage(PropertyTypeDTO dto);

	/**通过主键查询*/
	PropertyTypeVO getByKey(Integer id);

	/**添加*/
	Integer add(PropertyTypeDTO dto);

	/**通过主键修改*/
	void upd(PropertyTypeDTO dto);

	List<PropertyTypeTreeVO> getComponentMaintainState();












	/**
	 * 通过主键id集合查询
	 */
	List<PropertyType> getByIds(List<Integer> ids);

	/**
	 * 通过主键id集合查询 返回Map<对象主键id,对象实体> key为对象主键id
	 */
	Map<Integer,PropertyType> getMapByIds(List<Integer> ids);

	/**
	 * 通过主键id在对象Map<对象主键id,对象实体>获取对象
	 */
	PropertyType getByMap(Map<Integer, PropertyType> map,Integer id);

	/**
	 * 通过主键id在对象Map<对象主键id, 对象实体>获取对象名称
	 */
	String getNameByMap(Map<Integer, PropertyType> map,Integer id);




}
